let t = require;
let  e = module
let  o =  e.exports;
 o.default =  e.exports;

                'use strict';
                console.log("start");
                var _n34,
                    i =
                    (this && this.__extends) ||
                    ((_n34 = function n(t, e) {
                            return (_n34 =
                                Object.setPrototypeOf ||
                                ({
                                        __proto__: []
                                    }
                                    instanceof Array &&
                                    function(t, e) {
                                        t.__proto__ = e;
                                    }) ||
                                function(t, e) {
                                    for (var o in e) {
                                        Object.prototype.hasOwnProperty.call(e, o) && (t[o] = e[o]);
                                    }
                                })(t, e);
                        }),
                        function(t, e) {
                            function o() {
                                this.constructor = t;
                            }
                            _n34(t, e),
                                (t.prototype =
                                    null === e ?
                                    Object.create(e) :
                                    ((o.prototype = e.prototype), new o()));
                        });
                Object.defineProperty(o, '__esModule', {
                        value: !0
                    }),
                    (o.BattleInfo = void 0);
                var r = t('AbsInfo'),
                    a = (function(t) {
                        function e() {
                            var e = t.call(this) || this;
                            return (e._hp = e._hpMax = 100), e;
                        }
                        return (
                            i(e, t),
                            (e.prototype.init = function(t) {
                                t && ((this._cfgData = t), this.build());
                            }),
                            (e.prototype.setBuff = function(t) {
                                (this._buff = t), this.build();
                            }),
                            Object.defineProperty(e.prototype, 'id', {
                                get: function get() {
                                    return this.getCfgData('id');
                                },
                                enumerable: !1,
                                configurable: !0
                            }),
                            Object.defineProperty(e.prototype, 'level', {
                                get: function get() {
                                    return this.getCfgData('level');
                                },
                                enumerable: !1,
                                configurable: !0
                            }),
                            Object.defineProperty(e.prototype, 'type', {
                                get: function get() {
                                    return this.getCfgData('type');
                                },
                                enumerable: !1,
                                configurable: !0
                            }),
                            Object.defineProperty(e.prototype, 'model', {
                                get: function get() {
                                    return this.getCfgData('model');
                                },
                                enumerable: !1,
                                configurable: !0
                            }),
                            Object.defineProperty(e.prototype, 'weapon', {
                                get: function get() {
                                    return this.getCfgData('weapon');
                                },
                                enumerable: !1,
                                configurable: !0
                            }),
                            Object.defineProperty(e.prototype, 'attackHit', {
                                get: function get() {
                                    return this.getCfgData('attackHit');
                                },
                                enumerable: !1,
                                configurable: !0
                            }),
                            Object.defineProperty(e.prototype, 'speed', {
                                get: function get() {
                                    return this.getCfgData('speed');
                                },
                                enumerable: !1,
                                configurable: !0
                            }),
                            Object.defineProperty(e.prototype, 'attackDist', {
                                get: function get() {
                                    return this.getCfgData('attackDist');
                                },
                                enumerable: !1,
                                configurable: !0
                            }),
                            (e.prototype.build = function() {
                                var t = this._hpMax,
                                    e = this.getCfgData('hp'),
                                    o = this.getCfgData('hpPer'),
                                    n = this.getCfgData('atk'),
                                    i = this.getCfgData('atkPer'),
                                    r = this.getCfgData('def'),
                                    a = this.getCfgData('defPer');
                                (this._hpMax = Math.floor(e * (1 + 0.01 * o))),
                                this._hp == t && (this._hp = this._hpMax),
                                    (this._atk = Math.floor(n * (1 + 0.01 * i))),
                                    (this._def = Math.floor(r * (1 + 0.01 * a))),
                                    (this._crit = this.getCfgData('crit')),
                                    (this._solid = this.getCfgData('solid'));
                            }),
                            Object.defineProperty(e.prototype, 'hp', {
                                get: function get() {
                                    return this._hp;
                                },
                                set: function set(t) {
                                    this._hp != t &&
                                        ((this._hp = t), this.emit(r.InfoEvent.HPChanged));
                                },
                                enumerable: !1,
                                configurable: !0
                            }),
                            Object.defineProperty(e.prototype, 'hpMax', {
                                get: function get() {
                                    return this._hpMax;
                                },
                                enumerable: !1,
                                configurable: !0
                            }),
                            Object.defineProperty(e.prototype, 'atk', {
                                get: function get() {
                                    return this._atk;
                                },
                                enumerable: !1,
                                configurable: !0
                            }),
                            Object.defineProperty(e.prototype, 'def', {
                                get: function get() {
                                    return this._def;
                                },
                                enumerable: !1,
                                configurable: !0
                            }),
                            Object.defineProperty(e.prototype, 'crit', {
                                get: function get() {
                                    return this._crit;
                                },
                                enumerable: !1,
                                configurable: !0
                            }),
                            Object.defineProperty(e.prototype, 'solid', {
                                get: function get() {
                                    return this._solid;
                                },
                                enumerable: !1,
                                configurable: !0
                            }),
                            e
                        );
                    })(r.default);
                (o.BattleInfo = a), console.log("end");
            module.exports =  e.exports;